﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bonobo.Irc.Client
{
    // FIXME: could this be static? or make the prefix a member
    // FIXME: make internal !
    [Obsolete]
    public class IrcResponseFactory
    {
        // FIXME: redundant
        public IrcResponseFactory()
        {
        }


        public IrcResponse NotRegistred(String prefix, String parameter, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorNotRegistred, parameter, errorMessage);
        }

        public IrcResponse NotRegistred(String prefix, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorNotRegistred, errorMessage);
        }

        public IrcResponse AlreadyRegistred(String prefix, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorAlreadyRegistred, errorMessage);
        }

        public IrcResponse NeedMoreParams(String prefix, String command, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorNeedMoreParams, command, errorMessage);
        }

        public IrcResponse NoNickNameGiven(String prefix, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorNoNicknameGiven, errorMessage);
        }

        public IrcResponse ErrorneusNickname(String prefix, String nick, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorErrorneusNickname, errorMessage);
        }

        public IrcResponse NicknameInUse(String prefix, String nick, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorNicknameInUse, nick, errorMessage);
        }

        public IrcResponse NicknameCollision(String prefix, String nick, String errorMessage)
        {
            return new IrcResponse(prefix, IrcResponseType.ErrorNicknameCollision, nick, errorMessage);
        }
    }
}
